有一个二维数组float x[18][1](因为特殊需要才需要的数组),要如何对其进行排序(任何排序方法)

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:44:42
要求:(java实现)
1:排序后按照降序排列
2:如何能保存排序后的每个数据值能记住其在排序前的位置!
谢谢高人,小可就可怜的30分全给了。

import java.util.*;

class MyFloat implements Comparable
{
//值
float f;
//旧位置
int pos;

public MyFloat(){
}
public MyFloat(float f,int pos){
this.f = f;
this.pos = pos;
}
public int compareTo(Object o){
MyFloat temp = (MyFloat)o;
return Float.compare(this.f,temp.f);
}

public static void main(String[] args)
{
float[] fs = {2f,1f,3f,5f,4f,9f,7f,8f,6f,10f};
MyFloat[] myfs = new MyFloat[fs.length];
for (int i=0;i<fs.length ;i++)
{
myfs[i] = new MyFloat(fs[i],i);
}
//排序
Arrays.sort(myfs);
for (int i=0;i<fs.length ;i++)
{
System.out.println("值:"+myfs[i].f+" 旧位置:"+myfs[i].pos);
}

}
}